$('.sel_all').click(function(){
    // 全选功能实现
    $(this).toggleClass('active');
    if( $(this).hasClass('active') ){
        $('.sel_single').addClass('active')
    }else{
        $('.sel_single').removeClass('active')
    }
    totalNum();
    totalPrice();
})
 

// 单个选中
$('.sel_single').click(function(){
    $(this).toggleClass('active');
    // $('.sel_single.active').siblings('.shop').find('.shop_num').val();
    // 全部选中时全选状态选中
    if( $('.sel_single').length==$('.sel_single.active').length ){
        $('.sel_all').addClass('active');
    }else{
        $('.sel_all').removeClass('active');
    }
    totalNum();
    totalPrice();
})

// 点击加减按钮增加减少商品个数
// 加
$('.add').click(function(){
    let val=$(this).siblings('.shop_num').val();
    val++;
    $(this).siblings('.shop_num').val(val);
    totalNum();
    totalPrice();
})
// 减
$('.reduce').click(function(){
    let val=$(this).siblings('.shop_num').val();
    val--;
    if(val<1){//防止出现0或负数
        val=1;
    }
    $(this).siblings('.shop_num').val(val);
    totalNum();
    totalPrice();
})
// 手动输入商品个数限制
$('.shop_num').blur(function(){
    if( $(this).val()<1 ){
        $(this).val(1);
    }else if( $(this).val()>200 ){
        $(this).val(200);
    }
})


// 封装函数计算总个数
function totalNum(){
    let sum=0;
    $('.sel_single.active').each(function (index, dom) {
        let num = $(dom).siblings('.shop').find('.shop_num').val();
        sum = sum + parseInt(num);     
    });
    $('#allnum').html(sum);
}

//封装函数计算总价
function totalPrice(){
    let sum=0;
    $('.sel_single.active').each(function(index,dom){
        // 单价
        let price=$(dom).siblings('.shop').find('.single_price').html();
        // 个数
        let num=$(dom).siblings('.shop').find('.shop_num').val();
        // 单个商品总价
        let numlrprice=price*num;
        // 合计总价
        sum+=parseFloat(numlrprice);
    })
    $('#total_price').html(sum.toFixed(2));
}

